<template>
  <div class="update-birthday">
     <van-datetime-picker
        v-model="currentDate"
        type="date"
        title="选择生日"
        :min-date="minDate"
        :max-date="maxDate"
        @cancel="$emit('close')"
        @confirm="onConfirm"
      />
  </div>
</template>
<script>
import dayjs from 'dayjs';
import {updateUserProfileAPI} from '@/api';
export default {
  name:"UpdateBirthday",
  components:{},
  props:{
    value:{
      type:String,
      required:true
    }
  },
  data(){
    return {
      minDate: new Date(1970, 0, 1),
      maxDate: new Date(),
      currentDate: new Date(this.value),
    }
  },
  computed:{},
  watch:{},
  methods:{
    async onConfirm(){
      this.$toast.loading({
        message:'保存中...',
        forbidClick:true,
        duration:0
      })
      try{
        const currentDate=dayjs(this.currentDate).format('YYYY-MM-DD')
        if(currentDate!=this.value){
          await updateUserProfileAPI({
            birthday:currentDate
          })
          this.$emit('input',currentDate)
        } 
        this.$emit('close')
        this.$toast.success('更新成功')
      }catch(err){
        this.$toast.fail('更新失败')
      }
    }
  }
}
</script>
<style lang="less" scoped>
</style>